1. Field of the Invention
The present invention relates to WINDOWS® SIDESHOW™ technology, and more particularly, to a method and system for enabling a SIDESHOW™ device to support enhanced features.
2. Description of the Related Art
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Windows® Vista® is a commercially available operating system from Microsoft Corporation of Redmond, Wash., hereinafter referred to as WINDOWS VISTA. Windows® SideShow™ is a commercially available application program from Microsoft Corporation of Redmond, Wash., hereinafter referred to as WINDOWS SIDESHOW. With WINDOWS VISTA operating systems becoming the dominant operating systems for personal computers, a variety of software or hardware applications compatible with Vista-based computer systems are also becoming more and more popular. One of the Vista-based software/hardware applications is WINDOWS SIDESHOW, which is a technology that supports an auxiliary screen to the Vista-based computer system.
Since WINDOWS SIDESHOW technology is initially designed to only support an auxiliary screen to display some primitive system information, a conventional WINDOWS SIDESHOW device is limited in its functionality and typically supports a minimal set of hardware resources. Without much hardware resources to manage, the conventional WINDOWS SIDESHOW device is configured with a relatively basic and non-expandable software stack. To illustrate, FIG. 1 is a simplified block diagram showing a software stack 100 of the conventional WINDOWS SIDESHOW device. The software stack 100 includes built-in gadget 102, a SIDESHOW Application Program Interface (API) 104, and a tiny Common Language Runtime (CLR) 106, which accesses and manages hardware resources 108. The tiny CLR 106 implements a subset of CLR, which is a virtual machine component of Microsoft .NET initiative.
The built-in gadget 102 is equipped with simple functions such as “Open Universal Asynchronous Receiver Transmitter (UART) and “Send UART” provided by the SIDESHOW API 104. Functions provided by the SIDESHOW API 104 are written in languages such as C# or VB.NET and are recognized by the tiny CLR 106. Continuing with the “Open UART” and “Send UART” examples, it should first noted that “Open UART” is basically configured to open a physical UART port supported by the hardware resources 108, and “Send UART” is configured to have data delivered to the opened physical UART port. In other words, the built-in gadget 102 in the software stack 100 can access the hardware resources 108 by opening a physical UART port and transferring data through the UART port. However, both “Open UART” and “Send UART” functions are supported by the SIDESHOW API 104 and recognized by the tiny CLR 106. Since the SIDESHOW API 104 and the tiny CLR 106 are designed to only support a limited set of functions and interact with a minimal set of hardware resources, it is difficult to enhance the functionalities or the hardware resources of the conventional WINDOWS SIDESHOW device given the inherent restrictions imposed by the software stack 100.
What is needed in the art is thus a method and system that enable a WINDOWS SIDESHOW device to support enhanced features and access additional hardware resources to address at least the problems set forth above.